/* vim:ft=objc:
 * $Id: Folder.h 114 2005-05-12 05:15:40Z bmoore $
 *
 * Copyright (c) 2004, 2005  Branden J. Moore.
 *
 * This file is part of MacBiff, and is free software; you can redistribute
 * it and/or modify it under the terms of the GNU General Public License
 * version 2 as published by the Free Software Foundation.
 *
 * MacBiff is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 * more details.
 *
 * You should have received a copy of the GNU General Public License along
 * with MacBiff; if not, write to the Free Software Foundation, Inc., 59
 * Temple Place, Suite 330, Boston, MA  02111-1307 USA.
 *
 */


#import <Cocoa/Cocoa.h>
#import <Message.h>

@interface Folder : NSObject {
	NSString *name;
	NSString *fullPath;
	NSMutableArray *messages;
	NSMutableArray *subFolders;
	unsigned total;
	unsigned unread;
	unsigned new;
	BOOL masked;
	BOOL disabled;
	BOOL canContainMail;
}

- (id) initWithName: (NSString*) n andFullPath: (NSString*) fp;

- (NSMutableArray*) subFolders;
- (void) addSubFolder: (Folder*)f;
- (void) addSubFolderNamed: (NSString*)n;
- (void) delSubFolderNamed: (NSString*)n;
- (BOOL) wantsShown;

- (NSString*) name;
- (NSString*) fullPath;

- (void) addMessage: (Message*) message;
- (NSArray*) messageList;
- (void) resetMessageList;
- (NSMenu*) messageMenu;

- (unsigned) newMail;
- (void) setNew: (unsigned) n;
- (BOOL) hasNew: (id) obj;
- (unsigned) unreadMail;
- (BOOL) hasUnread: (id) obj;
- (void) setUnread: (unsigned) u;
- (unsigned) totalMail;
- (void) setTotal: (unsigned) t;

- (BOOL) masked;
- (void) setMasked: (BOOL) f recursively: (BOOL) r;
- (BOOL) disabled;
- (void) setDisabled: (BOOL) f recursively: (BOOL) r;
- (void) touched: (id) obj;

- (BOOL) canContainMail;
- (void) setCanContainMail: (BOOL) c;

@end
